package org.fujay.langchain4jserver.infrastructure.persistence.mybatis.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.fujay.mybatis.core.base.BaseEntity;

import java.time.LocalDate;

/**
 * 应用使用统计持久化对象
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("app_usage_stats") // 假设表名
public class AppUsageStatsPo extends BaseEntity {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("app_id")
    private Long appId;

    /**
     * 统计日期
     */
    @TableField("stat_date")
    private LocalDate date;

    /**
     * 当日请求总次数
     */
    @TableField("request_count")
    private Long requestCount;

    /**
     * 当日使用的 Prompt Token 总数
     */
    @TableField("prompt_tokens")
    private Long promptTokens;

    /**
     * 当日生成的 Completion Token 总数
     */
    @TableField("completion_tokens")
    private Long completionTokens;

    /**
     * 当日使用的总 Token 数 (prompt + completion)
     */
    @TableField("total_tokens")
    private Long totalTokens;
}
